package com.gxa.saas.sso.controller;


import com.gxa.saas.core.common.JsonResult;
import com.gxa.saas.core.entity.dto.luoj.LoginDTO;
import com.gxa.saas.core.entity.vo.luoj.UserVO;
import com.gxa.saas.sso.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/user")
@Api("C端登录")
public class UserController {

    @Resource
    private UserService userService;

    @ApiOperation("登录")
    @GetMapping("/login")
    public Map login(@RequestBody LoginDTO loginDTO) throws Exception {
        String token = userService.login(loginDTO.getPhone(), loginDTO.getCheck());
        UserVO userVO = userService.userInfo(loginDTO.getPhone());
        Map map = new HashMap();
        map.put("token",token);
        map.put("data",userVO);
        map.put("code",200);
        map.put("msg","登录成功");
        return map;
    }

    //服务与服务之间发送的
    @ApiOperation("获取token信息")
    @PostMapping("/checkWithToken")
    public Map checkWithToken(String token) throws Exception {
        UserVO user = userService.checkWithToken(token);
        JsonResult jsonResult = new JsonResult();
        jsonResult.setCode("200");
        jsonResult.setData(user);
        return jsonResult.getMap();
    }

//    @GetMapping("/getSessionId")
//    public Map getSessionId(String code){
//        String sessionId = userService.getSessionId(code);
//        JsonResult jsonResult = new JsonResult();
//        jsonResult.setCode("200");
//        jsonResult.setData(sessionId);
//        return jsonResult.getMap();
//    }
//
//    @GetMapping("/authLogin")
//    public Map authLogin(String code){
//        String sessionId = userService.getSessionId(code);
//        JsonResult jsonResult = new JsonResult();
//        jsonResult.setCode("200");
//        jsonResult.setData(sessionId);
//        return jsonResult.getMap();
//    }

}
